package com.ys.entity.storage;

import java.util.Date;
import javax.persistence.Table;
import com.alibaba.fastjson.annotation.JSONField;
import com.ys.annotation.YsField;
import com.ys.entity.base.BaseEntity;
/**
*/
@Table(name="TCC_OfflineAssembleItem", catalog="Id")
public class TccOfflineAssembleItem extends BaseEntity<TccOfflineAssembleItem> {

	@YsField(nameDataBase="Id", nameJava="id", typeDataBase="bigint")
	private Long id;
	@YsField(nameDataBase="Pbid", nameJava="pbid", typeDataBase="varchar")
	private String pbid;
	@YsField(nameDataBase="OfflinePurchaseStorageId", nameJava="offlinePurchaseStorageId", typeDataBase="bigint")
	private Long offlinePurchaseStorageId;
	@YsField(nameDataBase="StockControlId", nameJava="stockControlId", typeDataBase="bigint")
	private Long stockControlId;
	@YsField(nameDataBase="SubPlanStorageNum", nameJava="subPlanStorageNum", typeDataBase="int")
	private Integer subPlanStorageNum;
	@YsField(nameDataBase="SubRealStorageNum", nameJava="subRealStorageNum", typeDataBase="int")
	private Integer subRealStorageNum;
	@YsField(nameDataBase="SubAssembleLeftNum", nameJava="subAssembleLeftNum", typeDataBase="int")
	private Integer subAssembleLeftNum;
	@YsField(nameDataBase="StockControlIdByNew", nameJava="stockControlIdByNew", typeDataBase="bigint")
	private Long stockControlIdByNew;
	@YsField(nameDataBase="Status", nameJava="status", typeDataBase="tinyint")
	private Integer status;
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	@YsField(nameDataBase="CreateTime", nameJava="createTime", typeDataBase="datetime")
	private Date createTime;
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	@YsField(nameDataBase="UpdateTime", nameJava="updateTime", typeDataBase="datetime")
	private Date updateTime;

	public Long getId() {
		return id;
	}
	public TccOfflineAssembleItem setId(Long id) {
		this.id = id;
		return this;
	}
	public String getPbid() {
		return pbid;
	}
	public TccOfflineAssembleItem setPbid(String pbid) {
		this.pbid = pbid;
		return this;
	}
	public Long getOfflinePurchaseStorageId() {
		return offlinePurchaseStorageId;
	}
	public TccOfflineAssembleItem setOfflinePurchaseStorageId(Long offlinePurchaseStorageId) {
		this.offlinePurchaseStorageId = offlinePurchaseStorageId;
		return this;
	}
	public Long getStockControlId() {
		return stockControlId;
	}
	public TccOfflineAssembleItem setStockControlId(Long stockControlId) {
		this.stockControlId = stockControlId;
		return this;
	}
	public Integer getSubPlanStorageNum() {
		return subPlanStorageNum;
	}
	public TccOfflineAssembleItem setSubPlanStorageNum(Integer subPlanStorageNum) {
		this.subPlanStorageNum = subPlanStorageNum;
		return this;
	}
	public Integer getSubRealStorageNum() {
		return subRealStorageNum;
	}
	public TccOfflineAssembleItem setSubRealStorageNum(Integer subRealStorageNum) {
		this.subRealStorageNum = subRealStorageNum;
		return this;
	}
	public Integer getSubAssembleLeftNum() {
		return subAssembleLeftNum;
	}
	public TccOfflineAssembleItem setSubAssembleLeftNum(Integer subAssembleLeftNum) {
		this.subAssembleLeftNum = subAssembleLeftNum;
		return this;
	}
	public Long getStockControlIdByNew() {
		return stockControlIdByNew;
	}
	public TccOfflineAssembleItem setStockControlIdByNew(Long stockControlIdByNew) {
		this.stockControlIdByNew = stockControlIdByNew;
		return this;
	}
	public Integer getStatus() {
		return status;
	}
	public TccOfflineAssembleItem setStatus(Integer status) {
		this.status = status;
		return this;
	}
	public Date getCreateTime() {
		return createTime;
	}
	public TccOfflineAssembleItem setCreateTime(Date createTime) {
		this.createTime = createTime;
		return this;
	}
	public Date getUpdateTime() {
		return updateTime;
	}
	public TccOfflineAssembleItem setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
		return this;
	}

	public static TccOfflineAssembleItem tccOfflineAssembleItem(
		String pbid,
		Long offlinePurchaseStorageId,
		Long stockControlId,
		Integer subPlanStorageNum,
		Integer subRealStorageNum,
		Integer subAssembleLeftNum,
		Long stockControlIdByNew,
		Integer status
			) {
		TccOfflineAssembleItem entity = new TccOfflineAssembleItem();
		entity.setPbid(pbid);
		entity.setOfflinePurchaseStorageId(offlinePurchaseStorageId);
		entity.setStockControlId(stockControlId);
		entity.setSubPlanStorageNum(subPlanStorageNum);
		entity.setSubRealStorageNum(subRealStorageNum);
		entity.setSubAssembleLeftNum(subAssembleLeftNum);
		entity.setStockControlIdByNew(stockControlIdByNew);
		entity.setStatus(status);
		return entity;
	}

	@Override
	public String toString() {
		return "TccOfflineAssembleItem{" +
				"id=" + id +
				", pbid='" + pbid + '\'' +
				", offlinePurchaseStorageId=" + offlinePurchaseStorageId +
				", stockControlId=" + stockControlId +
				", subPlanStorageNum=" + subPlanStorageNum +
				", subRealStorageNum=" + subRealStorageNum +
				", subAssembleLeftNum=" + subAssembleLeftNum +
				", stockControlIdByNew=" + stockControlIdByNew +
				", status=" + status +
				", createTime=" + createTime +
				", updateTime=" + updateTime +
				'}';
	}
}